﻿using System;
using SharpSqlAnalyzer.nodes;
using SharpSqlAnalyzer.nodes.netezza;

namespace SharpSqlAnalyzer.stmt.netezza
{
	// Token: 0x0200014C RID: 332
	public class TNetezzaGroomTable : TCustomSqlStatement
	{
		// Token: 0x17000208 RID: 520
		// (get) Token: 0x06000B22 RID: 2850 RVA: 0x00305974 File Offset: 0x00303B74
		// (set) Token: 0x06000B23 RID: 2851 RVA: 0x0030597C File Offset: 0x00303B7C
		public virtual TModeChoice ModeChoice
		{
			get
			{
				return this.modeChoice;
			}
			set
			{
				this.modeChoice = value;
			}
		}

		// Token: 0x17000209 RID: 521
		// (get) Token: 0x06000B24 RID: 2852 RVA: 0x00305985 File Offset: 0x00303B85
		// (set) Token: 0x06000B25 RID: 2853 RVA: 0x0030598D File Offset: 0x00303B8D
		public virtual TReclaimChoice ReclaimChoice
		{
			get
			{
				return this.reclaimChoice;
			}
			set
			{
				this.reclaimChoice = value;
			}
		}

		// Token: 0x1700020A RID: 522
		// (get) Token: 0x06000B26 RID: 2854 RVA: 0x00305996 File Offset: 0x00303B96
		// (set) Token: 0x06000B27 RID: 2855 RVA: 0x0030599E File Offset: 0x00303B9E
		public virtual TObjectName TableName
		{
			get
			{
				return this.tableName;
			}
			set
			{
				this.tableName = value;
			}
		}

		// Token: 0x06000B28 RID: 2856 RVA: 0x003059A7 File Offset: 0x00303BA7
		public TNetezzaGroomTable(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstnetezzaGroomTable;
		}

		// Token: 0x06000B29 RID: 2857 RVA: 0x003059BC File Offset: 0x00303BBC
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TGroomTableSqlNode tgroomTableSqlNode = (TGroomTableSqlNode)this.rootNode;
			this.tableName = tgroomTableSqlNode.TableName;
			this.modeChoice = tgroomTableSqlNode.ModeChoice;
			this.reclaimChoice = tgroomTableSqlNode.ReclaimChoice;
			return 0;
		}

		// Token: 0x06000B2A RID: 2858 RVA: 0x00305A0C File Offset: 0x00303C0C
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000B2B RID: 2859 RVA: 0x00305A1C File Offset: 0x00303C1C
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x040012A5 RID: 4773
		private TObjectName tableName;

		// Token: 0x040012A6 RID: 4774
		private TModeChoice modeChoice;

		// Token: 0x040012A7 RID: 4775
		private TReclaimChoice reclaimChoice;
	}
}
